首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏tech with leo

    Go Context解析 A Brief Inquiry Into Go Context

    什么是context Package context defines the Context type, which carries deadlines, cancellation signals, 在context的package中如此介绍context,很容易可以看出context的三个主要功能 携带截止时间 携带取消信号 在携带请求相关的值 作用范围为api边界和进程之间 为什么需要contextcontext的介绍中就可以看出context的主要是为了进行协程取消或者并发控制,传值为一额外功能。 众所周知,Go语言有四个进行并发控制的工具 全局变量 channel waitgroup context 要理解为什么context也是其中不可或缺的一环,不妨可以提出一个疑问: 如果没有context context一直是被认为一个小而美的设计,context包确实也以一种巧妙的方式实现了context的这些功能。

    1.1K73编辑于 2021-11-26
  • 来自专栏kwai

    Context详解

    接口 Context 其实是 Go 语言 context 包对外暴露的接口,该接口定义了四个需要实现的方法,其中包括: Deadline 方法需要返回当前 Context 被取消的时间,也就是完成工作的截止日期 Context 到截止日期而被中止: $ go run context.go main context deadline exceeded handle context deadline exceeded 实现原理 Context 相关的源代码都在 context.go 这个文件中,在这一节中我们就会从 Go 语言的源代码出发介绍 Context 的实现原理,包括如何在多个 Goroutine 之间同步信号 1,默认上下文 在 context 包中,最常使用其实还是 context.Background 和 context.TODO 两个方法,这两个方法最终都会返回一个预先初始化好的私有变量 background 我们应该只在不确定时使用 context.TODO(),在多数情况下如果函数没有上下文作为入参,我们往往都会使用 context.Background() 作为起始的 Context 向下传递。

    1.2K41编辑于 2023-04-10
  • 来自专栏code人生

    go 上下文:context.Context

    context 包提供了 Context 类型和一些相关的函数,用于在并发程序中有效地传递上下文信息。 1. context.Context 接口Context 接口定义了在 Goroutines 之间传递的上下文的基本方法:type Context interface { Deadline() ( ctx := context.Background()可以使用 context.WithCancel、context.WithTimeout、context.WithDeadline 和 context.WithValue ctx, cancel := context.WithCancel(context.Background())// 启动 Goroutine,传递上下文go func(ctx context.Context 上下文值context.WithValue 函数可以用于在上下文中传递请求范围的值。这些值可以通过 context.Value 方法在上下文中检索。

    55430编辑于 2023-11-16
  • 来自专栏刘望舒

    Android深入理解Context(一)Context关联类和Application Context创建过程

    前言 Context也就是上下文对象,是Android较为常用的类,但是对于Context,很多人都停留在会用的阶段,这个系列会带大家从源码角度来分析Context,从而更加深入的理解它。 1.Context概述 Context意为上下文或者场景,是一个应用程序环境信息的接口。 在开发中我们经常会使用Context,它的使用场景总的来说分为两大类,它们分别是: 使用Context调用方法,比如:启动Activity、访问资源、调用系统级服务等。 2.Application Context的创建过程 我们通过调用getApplicationContext来获取应用程序的全局的Application Context,那么Application Context Application Context的创建过程就讲到这里,最后给出Application Context创建过程的时序图。 ?

    3.2K100发布于 2018-02-01
  • 来自专栏Golang开发

    Golang——Context

    Context接口 Context作为一个基本接口,所有的Context对象都要实现该接口,并将其作为使用者调度时的参数类型: type Context interface{ //如果Context实现了超时控制 func Background() Context func TODO() Context func WithCancel(parent Context) (ctx Context, cancel CancelFunc Context 实例 ,每一个 Context 实例的创建都以 上一个 Context 对象为参数 ,最终形成一个树状的结构 。 Context具体对象 创建cancelCtx实例 func WithCancel(parent Context) (Context, CancelFunc) 创建带有超时通知的Context,内部创建一个 当派生出的子 Context 的deadline在父Context之后,直接返回了一个父Context的拷贝。故语义上等效为父。

    1.2K10发布于 2019-05-29
  • 来自专栏安卓圈

    理解Context

    知识点: 1.Context的使用场景   1)使用Context调用方法,比如启动Activity、访问资源、调用系统级服务等   2)调用方法时传入Context,比如弹出Toast、创建Dialog 等 2.Context的关联类 ? 的Context创建过程* ? PhoneWindow在运行中会间接触发很多事件,比如点击、菜单弹出、屏幕焦点变化等事件,这些事件需要转发给与PhoneWindow关联的Activity,转发操作通过Window.Callback接口实现 ,Activity实现了这个接口 *Service的Context创建过程* Service的Context创建过程与Activity的Context创建过程类似,是在Service的启动过程中被创建的

    49320发布于 2019-09-26
  • 来自专栏皮皮星球

    Sliding Window - 76. Minimum Window Substring

    Minimum Window Substring Given a string S and a string T, find the minimum window in S which will contain Example: Input: S = "ADOBECODEBANC", T = "ABC" Output: "BANC" Note: If there is no such window in If there is such window, you are guaranteed that there will always be only one unique minimum window 思路: 这是一道经典的sliding window的题目,题目意思是给定两个字符串,字符串S如果包含另一个字符串T的所有字符,那么就返回这个包含T所有字符的最小字符串。

    1.4K10发布于 2020-09-23
  • 来自专栏云计算与大数据

    golang | context dive

    ctx := context.Background() ctx = context.WithValue(ctx, keyOne("one"), "valueOne") ctx = context.WithValue that carries value u. // func NewContext(ctx context.Context, u *User) context.Context { // context.ToDo(): context package ToDo function returns an empty Context. It is also an empty Context same as context.Background() 它与context.Background() 一样,返回一个空的context The Whenever you use context, then the empty Context got from context.Background() is the root of all context

    52310编辑于 2022-06-09
  • 来自专栏算法微时光

    Android Context简介

    目录 什么是Android Context Context意味着一个场景,一个场景就是我们和软件进行交互的一个过程。 从安卓程序的角度来看,Context是什么? 其实一个Activity就是一个Context,一个Service也是一个Context。 ? image.png Context 本身是一个抽象类,主要实现类为 ContextImpl,另外有子类 ContextWrapper 和 ContextThemeWrapper,这两个子类都是Context image.png Context实现 源码路径:Context.java /** * Interface to global information about an application environment 主要负责: 四大组件的交互 获取系统/应用资源 文件 数据库(SQLite) 其它辅助功能 参考 深入理解 Android 中的各种 Context

    84030发布于 2020-06-28
  • 来自专栏chaplinthink的专栏

    Flink window

    : Context, input: Iterable[(String, Long)], out: Collector[String]) = { var count = 0L for (in <- input) { count = count + 1 } out.collect(s"Window ${context.window} count: $count") ) => { if (r1.value > r2.value) r2 else r1 }, ( key: String, context: ProcessWindowFunction [_, _, _, TimeWindow]#Context, minReadings: Iterable[SensorReading], out: Collector[(Long , SensorReading)] ) => { val min = minReadings.iterator.next() out.collect((context.window.getStart

    2.1K20编辑于 2022-05-30
  • 来自专栏米扑专栏

    Android Context 详解

    Android中context可以作很多操作,但是最主要的功能是加载和访问资源。 在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。 我们可以使用application context。 application context伴随application的一生,与activity的生命周期无关。 application context可以通过Context.getApplicationContext()或者Activity.getApplicationContext()方法获取。 避免context相关的内存泄露,记住以下几点: 1. 不要让生命周期长的对象引用activity context,即保证引用activity的对象要与activity本身生命周期是一样的 2.

    2.9K60发布于 2019-02-19
  • 来自专栏LinkinStar's Blog

    Golang之context

    Context这个东西好像随时随地都在出现,在golang中也是非常重要的存在。今天我们就来看看这个神奇的Context。 定义 首先我们要知道什么是context? 暂时不用关心context.Background()只要知道context有传递值的功能就可以了。 源码解析 创建 context.TODO() 这个就是创建一个占位用的context,可能在写程序的过程中还不能确定后期这个context的作用,所以暂时用这个占位 context.Background () 这个是最大的context,也就是根context,这里就有必要说一下context的整个构成了,context其实构成的是一棵树,Background为根节点,每次创建一个新的context就是创建了一个新的节点加入这棵树 ,他们都自己封装了一个Context,利用这个Context可以做到一个request-scope中的参数传递和返回,还有很多操作通通都可以用Context来完成。

    79230编辑于 2022-09-01
  • 来自专栏技术研究和应用

    Golang Context学习

    Context概念和创建在Golang中,Context就是携带了超时时间、取消信号和值的一种结构。 为了实现这种关系,context也是一个树状结构,叶子节点总是由根节点衍生出来的。要创建context树,第一步应该得到根节点,context.Backupgroup函数的返回值就是根节点。 , CancelFunc) {}func WithValue(parent Context, key, val interface{}) Context {}从context的源码可以看出,context type ctxKey struct{}var ctxReqID = ctxKey{}func WithReqID(ctx context.Context, reqID string) context.Context (2)goroutine中没有方法可以像java语言直接获取当前协程的上下文context(3)当子协程直接使用父协程的context时,并不会直接创建一个子context,只有当父协程创建一个子context

    66251编辑于 2022-08-23
  • 来自专栏编程社区

    js中的window.parent,window.top、window.self

    window.self 功能:是对当前窗口自身的引用,它和window是等价的 语法:window.self 注:window、self、window.self是等价的 window.top 功能:返回顶层窗口 语法:window.top 注:如果窗口本身就是顶层窗口,top属性返回的是对自身的引用。 window.parent 功能:返回父窗口。 语法:window.parent 注:如果窗口本身是顶层窗口,parent属性返回的是对自身的引用。 在框架网页中,一般父窗口就是顶层窗口,但如果框架中还有框架,父窗口和顶层窗口就不一定相同了。

    3.7K30编辑于 2022-01-26
  • 来自专栏大模型应用

    大模型应用:上下文理解极限:Context Window 与注意力跨度的数学边界.57

    事实上,有三个相互关联却又本质不同的基础概念共同构成了模型对长序列的处理能力:上下文窗口(Context Window)、注意力跨度和 数学边界。 Context Window(上下文窗口) 模型的一次性阅读能力,在大模型中,上下文窗口指的是模型在一次推理过程中能够接收并处理的输入 token 序列的最大长度。 六、对大模型的意义Context Window 和注意力跨度,不是技术细节,而是决定大模型落地选型的关键因素:1. def generate_answer(question, context, tokenizer, model, max_input_length=1024): # 构造输入:prompt 在前, Window(上下文窗口)就是它一次性能记住的最大文字量,注意力跨度是它在记住的内容里,真正能集中关注到的范围,而数学边界就是受算力、显存限制,没法无限扩大这个记性容量。

    14232编辑于 2026-03-26
  • 来自专栏日常笔记

    Context 模式小记

    开源项目中常有以 Context 命名的类,如 Spring 的 ApplicationContext、Dubbo 的 RpcContext、Netty 的 ChannelHandlerContext Context 模式可以很好地解决这个问题。对于业务核心流程中所用到的主要和次要数据,我们都可以放在 Context 中。当再遇到上述需求时,通常只需直接使用 Context 中的数据即可。 即便需要新增加数据,改动点会比不使用 Context 要少很多。

    78720发布于 2020-05-12
  • 来自专栏JavaEdge

    tools:context用法

    其中的tools:context context属性其实正是的称呼是activity属性,有了这个属性,ide就知道在预览布局的时候该采用什么样的主题。 layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context 例如这里的tools:context 就是将这个 layout 文件和后面的 Activity 进行关联,这样编辑器在展示布局效果的时候,就能针对Activity 的一些属性进行有针对性的处理。

    90750编辑于 2022-11-29
  • 来自专栏PHP在线

    window对象

    对于移动设备window.innerWidth和window.innerHeight保存着可见视口,也就是屏幕上可见页面区域的大小。 window.resizeTo(100,100); //调整到100*100 window.resizeBy(100,50); //调整到200*50 这两个方法不适用于框架,只能对最外层的window var win= window.open("http://www.beijingqingnian.com","_blank"); if(win==null){ alert('the popup was

    1.9K100发布于 2018-03-07
  • 来自专栏Owen's World

    golang:context介绍

    : 3.1 顶层Context:Background 要创建Context树,首先就是要创建根节点 // 返回一个空的Context,它作为所有由此继承Context的根节点 func Background 可以主动通过调用cancel方法取消子节点Context,而子节点Context只能被动等待.同时父节点Context自身一旦被取消(如其上级节点Cancel),其下的所有子节点Context均会自动被取消 有三种创建方法: // 带cancel返回值的Context,一旦cancel被调用,即取消该创建的context func WithCancel(parent Context) (ctx Context 当通过父Context对象创建子Context对象时,可同时获得子Context的一个撤销函数,这样父Context对象的创建环境就获得了对子Context将要被传递到的Goroutine的撤销权. ,释放资源并返回. 6 致谢 pkg/context context-should-go-away-go2 理解 Go Context 机制 context-isnt-for-cancellation

    63930编辑于 2021-12-08
  • 来自专栏月梦·剑心的技术专栏

    Golang Context

    本文是我的context学习记录,由于还没怎么使用过context,所以不甚详细,后续会逐渐补充细节。 context包概述 context包定义了Context类型,它在API边界和进程之间携带截止时间、取消信号和其他的请求范围的值。 对于服务器的进入请求应该创建一个Context,向服务器发出的调用应该接收一个Context。 当一个Context被撤销时,所有由它派生的Context都会被撤销。 传递Context.TODO如果你不确定该使用哪个Context。 仅将context Values用于传输进程和API的请求作用域数据,不要用于向函数传递可选参数。

    30840编辑于 2023-11-18
领券